home *** CD-ROM | disk | FTP | other *** search
/ New Star Software Collection / NSS_Collection.iso / 3-069 qemm 603 / 1.ima / QMANFEST / CH8.MAN < prev    next >
Encoding:
Text File  |  1991-10-07  |  13.6 KB  |  327 lines

  1. Chapter 8
  2.  
  3. DOS
  4.  
  5.  This chapter gives you information about how DOS uses memory.
  6. Using Manifest's DOS displays, you can determine how much memory
  7. is used by the DOS kernel, DOS data and device drivers. This
  8. section also gives you an understanding of what effect CONFIG.SYS
  9. statements have in increasing or decreasing DOS's memory
  10. overhead. And, if you are curious, you can compare the memory
  11. usage of each of your versions of DOS.
  12.  
  13. If you are an inexperienced PC user, you may not be aware that
  14. you customize DOS on your PC through statements in your
  15. CONFIG.SYS file. These statements determine the DOS resources
  16. that are to be used. Manifest is interested in CONFIG.SYS because
  17. all statements allocating resources in CONFIG.SYS affect the use
  18. of memory. The DOS resources you see most frequently on
  19. Manifest's DOS screens are explained below.
  20.  
  21. ~Item~ BUFFERS specifies the number of disk buffers allocated by
  22. DOS to speed up disk operations. Each buffer uses about 528 bytes
  23. of memory. 
  24.  
  25. ~Item~ DEVICE tells DOS, at system startup, to load a device
  26. driver (such as an expanded memory manager, a mouse driver, or
  27. network driver). 
  28.  
  29. ~Item~ FCBS specifies the number of file control blocks kept
  30. track of by DOS. Each FCB requires about 53 bytes of memory. 
  31.  
  32. ~Item~ FILES specifies the maximum number of files that can be
  33. open simultaneously. Each file requires about 53 bytes of memory
  34. each. 
  35.  
  36. ~Item~ LASTDRIVE lets you specify the drive letter of the last
  37. drive that DOS supports. The default is DRIVE=E. Each additional
  38. drive specified over the default uses about 81 bytes of memory. 
  39.  
  40. ~Item~ STACKS specifies the number and size for stacks reserved
  41. by DOS for hardware interrupts.
  42.  
  43. ~Subhead~ DOS Overview (DO) 
  44.  
  45.  DOS Overview gives you a summary of the memory used by your
  46. version of DOS. Using this screen, you can:
  47.  
  48. ~Item~ understand the memory requirement of the devices loaded
  49. and DOS resources allocated in CONFIG.SYS, 
  50.  
  51. ~Item~ find out the amount of memory used by DOS to see if DOS
  52. devices/resources can be loaded in high memory.
  53.  
  54.  There are terms on the screen that need definition:
  55.  
  56. ~Item~ Kernel: the memory used by the two system programs (IBMBIO
  57. and IBMDOS). 
  58.  
  59. ~Item~ Drivers: the amount of conventional memory used by the
  60. device drivers specified by DEVICE=statements in your CONFIG.SYS.
  61.  
  62. ~Item~ Base Data: the amount of conventional memory used by DOS
  63. resource (FILES, etc.) statements in CONFIG.SYS~dash~including
  64. default values set by DOS.
  65.  
  66. ~Item~ Added Data: DOS resource memory added by such programs as
  67. DOS SHARE and by Quarterdeck's BUFFERS and FILES programs.
  68.  
  69. ~Subhead~ Please Note
  70.  
  71.  Manifest's report of your system configuration (bottom left of
  72. screen) may differ from your CONFIG.SYS: DOS allocates a default
  73. value for FILES, etc. regardless of whe-ther you specify it. This
  74. default  varies, depending upon the version of DOS. The FCBS &
  75. LASTDRIVE resources were not supported until DOS 3.0. The STACKS
  76. resource was first supported in DOS 3.1. Thsse will not appear if
  77. your DOS version does not support them.
  78.  
  79.  The number of DOS FILES and BUFFERS shown in the memory map may
  80. be less than that reported in the left column of the Manifest
  81. display. In some versions of DOS the default memory allocated to
  82. buffers or files may be  embedded in the DOS kernel. Manifest
  83. notes the files and buffers included in the DOS kernel.
  84.  
  85.  You may be able to reduce the conventional memory used by DOS:
  86. If your computer has EMS 4.0 or EEMS expanded memory hardware or
  87. is an 80386-based PC, you can relocate DOS memory (thereby
  88. increasing the memory available to programs), using Quarterdeck's
  89. QEMM, QRAM or their like, to move DOS resources (FILES, BUFFERS,
  90. etc.) into high memory.
  91.  
  92. ~Subhead~ Tips on Using DOS Resources
  93.  
  94.  BUFFERS: These are blocks of memory that DOS uses to try to
  95. minimize disk accesses and therefore speed up file opeations.
  96. Each buffer is relatively large (about 528 bytes each), and so
  97. this is the resource that most significantly affects the memory
  98. that DOS uses. Primarily file lookups or directories are affected
  99. by the number of buffers. You want to choose a moderate number of
  100. buffers. With too few, it will take too long to access files.
  101. With too many, you are wasting memory for no good reason.
  102. Normally, 20 buffers is a good amount, unless you have some very
  103. long directories.
  104.  
  105.  There are two ways to increase the number of DOS buffers you use
  106. without using excessive conventional memory. Under DOS 2 or 3, if
  107. you have high RAM, you can load QEMM's and QRAM's BUFFERS program
  108. high (i.e. LOADHI BUFFERS) to increase the number of buffers
  109. beyond what you specify in CONFIG.SYS. Under DOS 4 with expanded
  110. memory, DOS provides a facility to load buffers into expanded
  111. memory (the BUFFERS /X switch). Unfortunately, there are several
  112. conditions which it is not safe to allow DOS to put buffers into
  113. expanded memory. You should only use /X if running MS-DOS 4.01 or
  114. PC-DOS 4.02 or higher, and only if there are no mappable pages
  115. above conventional memory other than the page frame and if you
  116. are not filling conventional memory into video memory (segment
  117. addresses A000-BFFF).
  118.  
  119.  FCBS: FCBS=n,m specifies that DOS should reserve n areas of
  120. memory, about 53 bytes each, to keep track of file control blocks
  121. (FCBs) that are open. m specifies the number of these FCBs that
  122. DOS should not close automatically in order to open more than
  123. will fit in the table. Relatively few programs use FCBs anymore,
  124. and so you usually do not need to specify any extra FCBs in
  125. CONFIG.SYS. FCB structures in DOS are usually only significant
  126. when DOS's SHARE is loaded.
  127.  
  128.  FILES: These are relatively small structures (about 53 bytes)
  129. with which DOS keeps track of files that are open. 20 files is
  130. usually sufficient, but, in a multitasking environment, you may
  131. need more.
  132.  
  133.  LASTDRIVE: This CONFIG.SYS parameter specifies the highest drive
  134. letter that DOS recognizes. The primary reason to specify a
  135. letter higher than the highest letter that is actually in use is
  136. to reserve drive letters for the DOS SUBST program. If you do not
  137. use SUBST, you do not need to set a LASTDRIVE.
  138.  
  139. ~Subhead~ Tips on Using Dos Resources (Continued)
  140.  
  141.  STACKS: STACKS=n,m specifies that DOS should reserve n areas of
  142. memory, each m bytes long, to use as stacks for servicing
  143. hardware interrupts. By default, DOS reserves about 3.2K of
  144. conventional memory for these stacks, which is a significant
  145. amount of memory. DESQview already deals with the problem of
  146. choosing a stack for hardware interrupts, and so if you run
  147. predominantly in DESQview, you can specify STACKS=0,0 in DOS 3.3
  148. and higher to make DOS not reserve any room for these stacks.
  149.  
  150. ~Subhead~ DOS Drivers (DR)
  151.  
  152.  DOS Drivers gives you information about the drivers Manifest
  153. finds on DOS's list of drives, called the device driver chain.
  154. These are standard devices always present in the DOS kernel and
  155. other devices as specified in CONFIG.SYS.
  156.  
  157.  This screen lists the actual order in which a driver is loaded
  158. into the driver chain. Usually the first device found is the NUL
  159. device. 
  160.  
  161.  For each driver specified in CONFIG.SYS, Manifest displays the
  162. beginning and ending memory addresses used by the driver, its
  163. memory size and attributes. Both the name found in the device
  164. structure in memory and the program name (if available) are
  165. listed.
  166.  
  167.  Note that not all drivers show addresses of memory. The memory
  168. used by standard device drivers is embedded in the DOS kernel,
  169. and neither address range nor size is given.
  170.  
  171. ~Subhead~ Attributes Described
  172.  
  173.  An attribute is a bit encoded word, containing 16 bits of
  174. information (9 bits defined; 7 undefined) that indicates highly
  175. technical characteristics of a device driver. In Manifest, the
  176. bits are indicated by C, S, B, x, R, L, K, N, O, and I : 
  177.  
  178. ~Item~ C ~dash~ character or block device
  179.  
  180. ~Item~ S ~dash~ supports standard I/O control calls from DOS
  181.  
  182. ~Item~ B ~dash~ supports output until a device is busy
  183.  
  184. ~Item~ x ~dash~ undefined
  185.  
  186. ~Item~ R ~dash~ supports removable media (i.e. floppy disk &      
  187.    CD ROM drives)
  188.  
  189. ~Item~ L ~dash~ supports logical drives 
  190.  
  191. ~Item~ K ~dash~ clock device
  192.  
  193. ~Item~ N ~dash~ NUL device
  194.  
  195. ~Item~ O ~dash~ standard output device
  196.  
  197. ~Item~ I ~dash~ standard input device
  198.  
  199. ~Subhead~ Reporting Anomalies
  200.  
  201.  In describing your drivers, Manifest uses standard methods to
  202. find its information. Sometimes this information is incomplete.
  203.  
  204.  Program Name: Manifest may not be able to determine the name of
  205. the program file which contains your device driver. In this case,
  206. the field is blank.
  207.  
  208.  Memory Area or Size: Memory areas and sizes are only shown for
  209. device drivers loaded in your CONFIG.SYS. Other drivers are
  210. either part of the DOS kernel or are part of memory resident
  211. programs, such as Novell's NET3, that hooked themselves into the
  212. driver chain. Refer to the First Meg Programs screen for
  213. information on the memory usage of memory resident programs.
  214.  
  215.  Device Memory Usage & LOADHI.SYS: If you have used LOADHI.SYS to
  216. load drivers into high memory, the memory area and size listed in
  217. this section indicates only the addresses used by LOADHI.SYS and
  218. not the addresses used by the program. To find out how much high
  219. memory is used by the device in high memory, refer to the First
  220. Megabyte Programs display. 
  221.  
  222.  Missing Drivers: The DOS Drivers screen reports on drivers that
  223. are present in the DOS driver chain. Some device drivers simply
  224. do something when loaded and then remove themselves from memory.
  225. These drivers will not appear in Manifest's list.
  226.  
  227. ~Subhead~ DOS Files (DI)
  228.  
  229.  DOS Files shows you the total number of files and FCBs specified
  230. and the number open. It also lists the names of the open Files
  231. and FCBs, and when possible, the name of the program that opened
  232. the file. (The FCBs line only appears in DOS 3.0 and later
  233. versions).
  234.  
  235.  Manifest finds the information about which files and FCBs are
  236. open by looking in DOS's files and FCBs tables when this screen
  237. is selected. If you press the space bar, Manifest reexamines
  238. these tables and updates the display.
  239.  
  240.  You can use this display to:
  241.  
  242. ~Item~ determine the adequacy of your FILES = level, 
  243.  
  244. ~Item~ determine programs which keep files open for extended
  245. periods, 
  246.  
  247. ~Item~ in DESQview, see files opened by several programs at a
  248. time, and
  249.  
  250. ~Item~ identify programs using FCBs.
  251.  
  252. ~Subhead~ Analyzing the Display
  253.  
  254.  Network Files & Manifest: If you are connected to a network and
  255. run Manifest locally from your PC, Manifest reports the files
  256. open on your PC, but does not report any files open on the
  257. server. If however, you run your licensed copy of Manifest from
  258. the server, it indicates all files open on the server, including
  259. the files opened on the server by a node.
  260.  
  261.  Already Open Files: There are three "standard" files that you
  262. will always see as open. DOS opens three devices, AUX, CON, and
  263. PRN, as files so that they can be accessed by programs through
  264. standard DOS requests. Thus there are typically three fewer file
  265. handles actually available to programs than the number specified
  266. on the FILES line of the CONFIG.SYS.
  267.  
  268.  Files "Unknown" display: A Files display entry with the text
  269. "Unknown" indicates that Manifest has detected an inconsistency
  270. in the file table. This typically is due to a DOS bug which
  271. leaves a file table entry marked as "in use" when it is not. It
  272. also means that this entry will remain unavailable until you
  273. reboot your system.
  274.  
  275.  FCBs used: While DOS keeps careful track of its table of open
  276. files, it is less careful with its table of open FCBs. In fact,
  277. many times it will leave entries in its FCB table marked as open
  278. even after they have been closed. This is usually not a problem.
  279. DOS can reuse slots in its FCB table even when there are open
  280. FCBs there. This characteristic can be prevented by using the
  281. second parameter to the DOS FCB statement. The second parameter
  282. is a number indicating how many of the total entries (specified
  283. by the first number) in the FCB table should be "protected" from
  284. being used when the entry is still marked as open. By default
  285. this number is 0, meaning all slots can be reused at any time.
  286. Also, even when DOS' FCB table is irretrievably filled up,
  287. programs can still open files using FCBs. Fortunately, this
  288. confusion is usually academic, since DOS never pays attention to
  289. its FCB table. Only certain utilities, such as the SHARE program
  290. that comes with DOS, do anything with the FCB table.
  291.  
  292. ~Subhead~ DOS Environment (DE)
  293.  
  294.  The DOS environment is memory set aside for the purpose of
  295. assigning names and giving values to those names (variables)
  296. which programs can use in a number of ways. Every program in
  297. memory, including              COMMAND.COM is given a copy of the
  298. environment.
  299.  
  300.  This screen shows you how much memory (in bytes) there is in the
  301. environment and how many bytes are as yet unused. The variables
  302. set and their values are shown in the lower window.
  303.  
  304. ~Subhead~ Customer Support Tool
  305.  
  306.  You can use this screen to:
  307.  
  308. ~Item~ find out where COMMAND.COM is located by way of (COMSPEC),
  309.  
  310. ~Item~ verify the presence of a variable and its value, i.e. make
  311. sure your PATH = variable lists all the subdirectories it should,
  312.  
  313. ~Item~ see how you or others have set up how COMMAND.COM displays
  314. its prompt (PROMPT=),
  315.  
  316. ~Item~ verify the presence of variables your applications expect
  317. to be in the environment and their values,
  318.  
  319. ~Item~ determine if you should increase or decrease the number of
  320. bytes in the environment,
  321.  
  322. ~Item~ aid you in responding to questions about your environment
  323. from support personnel, and
  324.  
  325. ~Item~ see, in DESQview, if applications in different windows
  326. have different environments set up by batch files.
  327.